Extreme wildfire risk:
KBDI ≥ 600
Descriptive
statistics, aggregate
N wells in high wildfire risk areas (i.e., areas with KBDI ≥
600):
- 2017: 192356
- 2050: 196600
- 2090: 282512
Results, 2017
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2050
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2090
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
High wildfire risk:
KBDI ≥ 450
Descriptive
statistics, aggregate
N wells in high wildfire risk areas (i.e., areas with KBDI ≥
450):
- 2017: 634645
- 2050: 905415
- 2090: 1280401
Results, 2017
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2050
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2090
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
High wildfire risk:
KBDI ≥ 400
Descriptive
statistics, aggregate
N wells in high wildfire risk areas (i.e., areas with KBDI ≥
400):
- 2017: 833828
- 2050: 1306675
- 2090: 1533977
Results, 2017
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2050
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
Results, 2090
wildfire risk
Plot. KBDI in study region

Plot. Wells in high wildfire risk areas by state

Table. Wells in high wildfire risk areas by
state
Table. Wells in high wildfire risk areas by
county
Table. Wells in high wildfire risk areas by
operator
LS0tCnRpdGxlOiAiUmVzdWx0czogV2lsZGZpcmVzIGluIGFyZWFzIHdpdGggcHJvamVjdGVkIHdpbGRmaXJlIHJpc2siCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IGZsYXRseQogICAgaGlnaGxpZ2h0OiBoYWRkb2NrIAogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogMgogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQojIGxvYWRzIG5lY2Vzc2FyeSBwYWNrYWdlcyBhbmQgZGVmaW5lcyBnbG9iYWwgdmFyaWFibGVzCnNvdXJjZSgiLi4vLi4vY29kZS8wLXNldHVwLzAxLXNldHVwLlIiKQpsaWJyYXJ5KCJ2aXJpZGlzIikKYGBgCgpgYGB7ciBkYXRhX2lucHV0LCBpbmNsdWRlPUZBTFNFfQp3ZWxsc19rYmRpIDwtIHJlYWRSRFMoIi4uLy4uL2RhdGEvcHJvY2Vzc2VkL3dlbGxzX2tiZGkucmRzIikKc3R1ZHlfcmVnaW9uX3NmIDwtIHJlYWRSRFMoIi4uLy4uL2RhdGEvaW50ZXJpbS9zdHVkeV9yZWdpb25fc2YucmRzIikKa2JkaV9tYXhfMjAxN19zZiA8LSByZWFkUkRTKCIuLi8uLi9kYXRhL3Byb2Nlc3NlZC9rYmRpX21heF8yMDE3LnJkcyIpICU+JSAKICBhc190aWJibGUoKSAlPiUKICBzdF9hc19zZihjb29yZHMgPSBjKCJ4IiwgInkiKSwgY3JzID0gY3JzX25hZDgzKSAlPiUgCiAgc3RfaW50ZXJzZWN0aW9uKHN0dWR5X3JlZ2lvbl9zZikKa2JkaV9tYXhfMjA1MF9zZiA8LSByZWFkUkRTKCIuLi8uLi9kYXRhL3Byb2Nlc3NlZC9rYmRpX21heF8yMDUwLnJkcyIpICU+JSAKICBhc190aWJibGUoKSAlPiUKICBzdF9hc19zZihjb29yZHMgPSBjKCJ4IiwgInkiKSwgY3JzID0gY3JzX25hZDgzKSAlPiUgCiAgc3RfaW50ZXJzZWN0aW9uKHN0dWR5X3JlZ2lvbl9zZikKa2JkaV9tYXhfMjA5MF9zZiA8LSByZWFkUkRTKCIuLi8uLi9kYXRhL3Byb2Nlc3NlZC9rYmRpX21heF8yMDkwLnJkcyIpICU+JSAKICBhc190aWJibGUoKSAlPiUKICBzdF9hc19zZihjb29yZHMgPSBjKCJ4IiwgInkiKSwgY3JzID0gY3JzX25hZDgzKSAlPiUKICBzdF9pbnRlcnNlY3Rpb24oc3R1ZHlfcmVnaW9uX3NmKQp1c19zdGF0ZXNfd2VzdCA8LSBzdF9yZWFkKCIuLi8uLi9kYXRhL3Jhdy91c19jZW5zdXMvdGxfMjAxOF91c19zdGF0ZS5zaHAiKSAlPiUgCiAgZmlsdGVyKFNUVVNQUyAlaW4lIGMoIldBIiwgIk9SIiwgIkNBIiwgIklEIiwgIk5WIiwgIkFaIiwgIk1UIiwgIldZIiwKICAgICAgICAgICAgICAgICAgICAgICAiVVQiLCAiQ08iLCAiTk0iLCAiTkQiLCAiU0QiLCAiTkUiLCAiS1MiLCAiT0siLCAiVFgiLAogICAgICAgICAgICAgICAgICAgICAgICJNTiIsICJJQSIsICJNTyIsICJBUiIsICJMQSIpKSAlPiUKICBzdF9nZW9tZXRyeSgpICU+JQogIHN0X3RyYW5zZm9ybShjcnNfbmFkODMpCnJtKHN0dWR5X3JlZ2lvbl9zZikKYGBgCgoKIyBFeHRyZW1lIHdpbGRmaXJlIHJpc2s6IEtCREkg4omlIDYwMAoKIyMgRGVzY3JpcHRpdmUgc3RhdGlzdGljcywgYWdncmVnYXRlCgpOIHdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyAoaS5lLiwgYXJlYXMgd2l0aCBLQkRJIOKJpSA2MDApOgoKLSAyMDE3OiBgciB3ZWxsc19rYmRpICU+JSBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA2MDApICU+JSBucm93YAotIDIwNTA6IGByIHdlbGxzX2tiZGkgJT4lIGZpbHRlcihrYmRpX21heF8yMDUwID49IDYwMCkgJT4lIG5yb3dgCi0gMjA5MDogYHIgd2VsbHNfa2JkaSAlPiUgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNjAwKSAlPiUgbnJvd2AKCgojIyBSZXN1bHRzLCAyMDE3IHdpbGRmaXJlIHJpc2sKCioqUGxvdC4gS0JESSBpbiBzdHVkeSByZWdpb24qKgoKYGBge3IgZWNobz1GQUxTRX0KZ2dwbG90KCkgKwogIGdlb21fc2YoZGF0YSA9IGtiZGlfbWF4XzIwMTdfc2YsIGFlcyhjb2xvciA9IGtiZGlfbWF4XzIwMTcpKSArCiAgc2NhbGVfY29sb3JfdmlyaWRpcyhvcHRpb24gPSAiQiIpICsKICBnZW9tX3NmKGRhdGEgPSB1c19zdGF0ZXNfd2VzdCwgY29sb3IgPSAid2hpdGUiLCBmaWxsID0gTkEpICsKICBsYWJzKGNvbG9yID0gIktCREkiKSArCiAgdGhlbWVfbWluaW1hbCgpCmBgYAoKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwMTcgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwMTcgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA1MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDUwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDUwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA5MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDkwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDkwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDkwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDkwID49IDYwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNjAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgojIEhpZ2ggd2lsZGZpcmUgcmlzazogS0JESSDiiaUgNDUwCgojIyBEZXNjcmlwdGl2ZSBzdGF0aXN0aWNzLCBhZ2dyZWdhdGUKCk4gd2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIChpLmUuLCBhcmVhcyB3aXRoIEtCREkg4omlIDQ1MCk6CgotIDIwMTc6IGByIHdlbGxzX2tiZGkgJT4lIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQ1MCkgJT4lIG5yb3dgCi0gMjA1MDogYHIgd2VsbHNfa2JkaSAlPiUgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDUwKSAlPiUgbnJvd2AKLSAyMDkwOiBgciB3ZWxsc19rYmRpICU+JSBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0NTApICU+JSBucm93YAoKCiMjIFJlc3VsdHMsIDIwMTcgd2lsZGZpcmUgcmlzawoKKipQbG90LiBLQkRJIGluIHN0dWR5IHJlZ2lvbioqCgpgYGB7ciBlY2hvPUZBTFNFfQpnZ3Bsb3QoKSArCiAgZ2VvbV9zZihkYXRhID0ga2JkaV9tYXhfMjAxN19zZiwgYWVzKGNvbG9yID0ga2JkaV9tYXhfMjAxNykpICsKICBzY2FsZV9jb2xvcl92aXJpZGlzKG9wdGlvbiA9ICJCIikgKwogIGdlb21fc2YoZGF0YSA9IHVzX3N0YXRlc193ZXN0LCBjb2xvciA9ICJ3aGl0ZSIsIGZpbGwgPSBOQSkgKwogIGxhYnMoY29sb3IgPSAiS0JESSIpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgoqKlBsb3QuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0NTApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fYmFyKGFlcyhzdGF0ZSwgbiksIHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgdGhlbWVfY2xhc3NpYygpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IGNvdW50eSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0NTApICU+JSAKICBncm91cF9ieShjb3VudHlfcGFyaXNoKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IG9wZXJhdG9yKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KG9wZXJhdG9yKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKIyMgUmVzdWx0cywgMjA1MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDUwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDUwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQ1MCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA5MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDkwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDkwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKKipQbG90LiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGdncGxvdCgpICsKICBnZW9tX2JhcihhZXMoc3RhdGUsIG4pLCBzdGF0ID0gImlkZW50aXR5IikgKwogIHRoZW1lX2NsYXNzaWMoKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0NTApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBjb3VudHkqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDUwKSAlPiUgCiAgZ3JvdXBfYnkoY291bnR5X3BhcmlzaCkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBvcGVyYXRvcioqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0NTApICU+JSAKICBncm91cF9ieShvcGVyYXRvcikgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCgojIEhpZ2ggd2lsZGZpcmUgcmlzazogS0JESSDiiaUgNDAwCgojIyBEZXNjcmlwdGl2ZSBzdGF0aXN0aWNzLCBhZ2dyZWdhdGUKCk4gd2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIChpLmUuLCBhcmVhcyB3aXRoIEtCREkg4omlIDQwMCk6CgotIDIwMTc6IGByIHdlbGxzX2tiZGkgJT4lIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQwMCkgJT4lIG5yb3dgCi0gMjA1MDogYHIgd2VsbHNfa2JkaSAlPiUgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDAwKSAlPiUgbnJvd2AKLSAyMDkwOiBgciB3ZWxsc19rYmRpICU+JSBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0MDApICU+JSBucm93YAoKCiMjIFJlc3VsdHMsIDIwMTcgd2lsZGZpcmUgcmlzawoKKipQbG90LiBLQkRJIGluIHN0dWR5IHJlZ2lvbioqCgpgYGB7ciBlY2hvPUZBTFNFfQpnZ3Bsb3QoKSArCiAgZ2VvbV9zZihkYXRhID0ga2JkaV9tYXhfMjAxN19zZiwgYWVzKGNvbG9yID0ga2JkaV9tYXhfMjAxNykpICsKICBzY2FsZV9jb2xvcl92aXJpZGlzKG9wdGlvbiA9ICJCIikgKwogIGdlb21fc2YoZGF0YSA9IHVzX3N0YXRlc193ZXN0LCBjb2xvciA9ICJ3aGl0ZSIsIGZpbGwgPSBOQSkgKwogIGxhYnMoY29sb3IgPSAiS0JESSIpICsKICB0aGVtZV9taW5pbWFsKCkKYGBgCgoqKlBsb3QuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0MDApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fYmFyKGFlcyhzdGF0ZSwgbiksIHN0YXQgPSAiaWRlbnRpdHkiKSArCiAgdGhlbWVfY2xhc3NpYygpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IGNvdW50eSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjAxNyA+PSA0MDApICU+JSAKICBncm91cF9ieShjb3VudHlfcGFyaXNoKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKKipUYWJsZS4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IG9wZXJhdG9yKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDE3ID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KG9wZXJhdG9yKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBhcnJhbmdlKGRlc2MobikpCmBgYAoKIyMgUmVzdWx0cywgMjA1MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDUwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDUwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKCioqUGxvdC4gV2VsbHMgaW4gaGlnaCB3aWxkZmlyZSByaXNrIGFyZWFzIGJ5IHN0YXRlKioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KHN0YXRlKSAlPiUgCiAgc3VtbWFyaXplKG4gPSBuKCkpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9iYXIoYWVzKHN0YXRlLCBuKSwgc3RhdCA9ICJpZGVudGl0eSIpICsKICB0aGVtZV9jbGFzc2ljKCkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgY291bnR5KioKCmBgYHtyIGVjaG89RkFMU0V9CndlbGxzX2tiZGkgJT4lIAogIGZpbHRlcihrYmRpX21heF8yMDUwID49IDQwMCkgJT4lIAogIGdyb3VwX2J5KGNvdW50eV9wYXJpc2gpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoqKlRhYmxlLiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgb3BlcmF0b3IqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwNTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkob3BlcmF0b3IpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGFycmFuZ2UoZGVzYyhuKSkKYGBgCgoKIyMgUmVzdWx0cywgMjA5MCB3aWxkZmlyZSByaXNrCgoqKlBsb3QuIEtCREkgaW4gc3R1ZHkgcmVnaW9uKioKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdCgpICsKICBnZW9tX3NmKGRhdGEgPSBrYmRpX21heF8yMDkwX3NmLCBhZXMoY29sb3IgPSBrYmRpX21heF8yMDkwKSkgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXMob3B0aW9uID0gIkIiKSArCiAgZ2VvbV9zZihkYXRhID0gdXNfc3RhdGVzX3dlc3QsIGNvbG9yID0gIndoaXRlIiwgZmlsbCA9IE5BKSArCiAgbGFicyhjb2xvciA9ICJLQkRJIikgKwogIHRoZW1lX21pbmltYWwoKQpgYGAKKipQbG90LiBXZWxscyBpbiBoaWdoIHdpbGRmaXJlIHJpc2sgYXJlYXMgYnkgc3RhdGUqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAKICBzdW1tYXJpemUobiA9IG4oKSkgJT4lIAogIGdncGxvdCgpICsKICBnZW9tX2JhcihhZXMoc3RhdGUsIG4pLCBzdGF0ID0gImlkZW50aXR5IikgKwogIHRoZW1lX2NsYXNzaWMoKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBzdGF0ZSoqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0MDApICU+JSAKICBncm91cF9ieShzdGF0ZSkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBjb3VudHkqKgoKYGBge3IgZWNobz1GQUxTRX0Kd2VsbHNfa2JkaSAlPiUgCiAgZmlsdGVyKGtiZGlfbWF4XzIwOTAgPj0gNDAwKSAlPiUgCiAgZ3JvdXBfYnkoY291bnR5X3BhcmlzaCkgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCioqVGFibGUuIFdlbGxzIGluIGhpZ2ggd2lsZGZpcmUgcmlzayBhcmVhcyBieSBvcGVyYXRvcioqCgpgYGB7ciBlY2hvPUZBTFNFfQp3ZWxsc19rYmRpICU+JSAKICBmaWx0ZXIoa2JkaV9tYXhfMjA5MCA+PSA0MDApICU+JSAKICBncm91cF9ieShvcGVyYXRvcikgJT4lIAogIHN1bW1hcml6ZShuID0gbigpKSAlPiUgCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCg==